win32: Fix up initialization order of input subsystem
authorAlexander Larsson <alexl@redhat.com>
Mon, 7 Nov 2011 15:48:29 +0000 (16:48 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 10 Nov 2011 16:40:51 +0000 (17:40 +0100)
We were getting warnings due to windows being created before input
subsystems were fully initialized.

gdk/win32/gdkdevicemanager-win32.c
gdk/win32/gdkinput.c
gdk/win32/gdkprivate-win32.h

index 19ae866f765f9922cd8506a66943b997f1885685..0cb1caa3772b33b0ca5bc79b2715c5c75ff8d504 100644 (file)
@@ -360,9 +360,10 @@ print_cursor (int index)
 }
 #endif
 
-static void
-_gdk_input_wintab_init_check (GdkDeviceManagerWin32 *device_manager)
+void
+_gdk_input_wintab_init_check (GdkDeviceManager *_device_manager)
 {
+  GdkDeviceManagerWin32 *device_manager = (GdkDeviceManagerWin32 *)_device_manager;
   static gboolean wintab_initialized = FALSE;
   GdkDeviceWintab *device;
   GdkWindowAttr wa;
@@ -690,8 +691,6 @@ gdk_device_manager_win32_constructed (GObject *object)
 
   _gdk_device_set_associated_device (device_manager->core_pointer, device_manager->core_keyboard);
   _gdk_device_set_associated_device (device_manager->core_keyboard, device_manager->core_pointer);
-
-  _gdk_input_wintab_init_check (device_manager);
 }
 
 static GList *
index 64e461dd6d67126cf96f01fa39bf6fdaf311fac7..53028ebbbea6d69ae46b401049a43dceee00b8d6 100644 (file)
@@ -121,4 +121,7 @@ _gdk_input_init (GdkDisplay *display)
   _gdk_input_devices = g_list_append (NULL, display->core_pointer);
   _gdk_input_devices = g_list_concat (_gdk_input_devices,
                                       g_list_copy (device_manager->wintab_devices));
+
+  _gdk_input_wintab_init_check (device_manager);
+
 }
index 2f320f15b0c2558f7f6a9b740bdff119e242ea70..0bfcd3fd9b60ca1f012551948caf34ccfc16d628 100644 (file)
@@ -504,5 +504,6 @@ void _gdk_visual_init (void);
 void _gdk_dnd_init    (void);
 void _gdk_events_init (void);
 void _gdk_input_init  (GdkDisplay *display);
+void _gdk_input_wintab_init_check (GdkDeviceManager *device_manager);
 
 #endif /* __GDK_PRIVATE_WIN32_H__ */